package cn.h8k.hj212.codec;

/**
 * HJ212协议校验器接口
 * 负责校验HJ212协议的长度和CRC
 */
public interface Hj212Validator {
    
    /**
     * 校验协议数据长度
     * @param data 协议数据
     * @param declaredLength 声明的长度
     * @return 是否校验通过
     */
    boolean validateLength(String data, int declaredLength);
    
    /**
     * 校验协议CRC
     * @param data 协议数据
     * @param declaredCrc 声明的CRC
     * @return 是否校验通过
     */
    boolean validateCrc(String data, String declaredCrc);
    
    /**
     * 计算CRC16校验码
     * @param text 需要校验的文本
     * @return CRC16校验码
     */
    String calculateCrc(String text);
} 